package com.mybatis.mybatisdatab.util;

import org.springframework.util.DigestUtils;

/**
 * 密码工具类
 *
 * 1. 当我们修改密码的时候,需要给新密码加 salt 值,在存入数据库
 * 2. 初始情况下,设置一个默认的 salt 值,存到数据库
 */
public class PasswordUtil {

    // x
    public static String encrypt(String password, String salt) {

        byte[] saltMd5 = DigestUtils.md5Digest(salt.getBytes());
        byte[] passwordByte = DigestUtils.md5Digest(password.getBytes());
        byte[] resultByte = new byte[32];
        for (int i = 0; i < passwordByte.length && i < saltMd5.length; i++) {
            resultByte[2 * i] = saltMd5[i];
            resultByte[2 * i + 1] = passwordByte[i];
        }

        return DigestUtils.md5DigestAsHex(resultByte);
    }

}
